<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Summing up the generic macros</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../../index.html" title="Chapter 1. The Variadic Macro Data Library 1.10">
<link rel="up" href="../vmd_generic.html" title="Generic macros for working with data types">
<link rel="prev" href="vmd_equality.html" title="Testing for equality and inequality">
<link rel="next" href="../../vmd_modifiers.html" title="Macros with modifiers">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vmd_equality.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../vmd_generic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../vmd_modifiers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="variadic_macro_data.vmd_specific_generic.vmd_generic.vmd_gnctable"></a><a class="link" href="vmd_gnctable.html" title="Summing up the generic macros">Summing
        up the generic macros</a>
</h4></div></div></div>
<p>
          The VMD generic macros work with VMD sequences, which represent any VMD
          data. The macros are represented by this table:
        </p>
<div class="table">
<a name="variadic_macro_data.vmd_specific_generic.vmd_generic.vmd_gnctable.tgenm"></a><p class="title"><b>Table 1.3. Generic sequence macros</b></p>
<div class="table-contents"><table class="table" summary="Generic sequence macros">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Name
                  </p>
                </th>
<th>
                  <p>
                    Function
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    BOOST_VMD_IS_EMPTY
                  </p>
                </td>
<td>
                  <p>
                    Tests if the sequence is empty
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_IS_UNARY
                  </p>
                </td>
<td>
                  <p>
                    Tests if the sequence has a single element
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_IS_MULTI
                  </p>
                </td>
<td>
                  <p>
                    Tests if the sequence has more than one element
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_SIZE
                  </p>
                </td>
<td>
                  <p>
                    Returns the number of elements in the sequence
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_TO_ARRAY
                  </p>
                </td>
<td>
                  <p>
                    Converts a sequence to a Boost PP array
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_TO_LIST
                  </p>
                </td>
<td>
                  <p>
                    Converts a sequence to a Boost PP list
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_TO_SEQ
                  </p>
                </td>
<td>
                  <p>
                    Converts a sequence to a Boost PP seq
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_TO_TUPLE
                  </p>
                </td>
<td>
                  <p>
                    Converts a sequence to a Boost PP tuple
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_ENUM
                  </p>
                </td>
<td>
                  <p>
                    Converts a sequence to variadic data
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_ELEM
                  </p>
                </td>
<td>
                  <p>
                    Returns a sequence element
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_GET_TYPE
                  </p>
                </td>
<td>
                  <p>
                    Returns the type of a sequence
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_EQUAL
                  </p>
                </td>
<td>
                  <p>
                    Tests two sequences for equality
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    BOOST_VMD_NOT_EQUAL
                  </p>
                </td>
<td>
                  <p>
                    Tests two sequences for inequality
                  </p>
                </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
              For all generic macros the top-level data types must be VMD data types.
            </li>
<li class="listitem">
              For the BOOST_VMD_EQUAL and BOOST_VMD_NOT_EQUAL macros all data types
              must be VMD data types
            </li>
<li class="listitem">
              Except for the BOOST_VMD_IS_EMPTY macro, which is really a specific
              macro which also works generically with sequences, identifiers must
              be specific identifiers, ie. identifiers must be registered to be used
              with generic macros and sequences. For the BOOST_VMD_EQUAL and BOOST_VMD_NOT_EQUAL
              macros specific identifiers must also be pre-detected.
            </li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2010-2017 Tropic Software
      East Inc</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vmd_equality.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../vmd_generic.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../vmd_modifiers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
